home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / glass / glass.lha / GLASS / libtmc / Makefile < prev    next >
Makefile  |  1991-02-14  |  6KB  |  332 lines

  1. #  tm C support library makefile
  2.  
  3. # (base) Name of ar and lint library for this library
  4. default:all
  5.  
  6. LIBID = tmc
  7. ARLIB = $(LIBID)
  8. LINTLIB = $(LIBID)
  9.  
  10. LDFLAGS =
  11.  
  12. LINTLIBS = $(LINTLIBLOC)
  13.  
  14. LINTFLAGS = -I$(IDIR) $(DBUG) -D$(SYS)
  15. CFLAGS = $(SYSCFLAGS) -I$(IDIR) $(DBUG) -D$(SYS)
  16.  
  17. # Obsolete files. Will be removed on all remote machines
  18. OLDFILES = 
  19.  
  20. # Version number of this libary
  21. VERSION = 3
  22.  
  23. LINKER        = cc
  24.  
  25. INSTHFILES    = tmc.h
  26.  
  27. TESTSRCS = testprog.c
  28. TESTFILES = testin goodout gooderr $(TESTSRCS)
  29.  
  30. JUNK  = testprog testerr testout tmp core mon.out gmon.out $(ARLIBNAME) \
  31.     $(LINTLIBNAME) lib$(LIBID)_p.a lib$(LIBID)_g.a lint libtmc.lint \
  32.     tags lintlib.out profilelib debuglib makelog
  33.  
  34. SRCS    = badtag.c \
  35.         cmpdbl.c \
  36.         errmsg.c \
  37.         fatal.c \
  38.         fneedc.c \
  39.         fprdbl.c \
  40.         fprint.c \
  41.         fpruns.c \
  42.         fprstr.c \
  43.         fsccbrac.c \
  44.         fsccons.c \
  45.         fscdbl.c \
  46.         fscbool.c \
  47.         fscint.c \
  48.         fscuns.c \
  49.         fscobrac.c \
  50.         fscspace.c \
  51.         fscstr.c \
  52.         newstr.c \
  53.         prdbl.c \
  54.         print.c \
  55.         pruns.c \
  56.         propt.c \
  57.         prstr.c \
  58.         testprog.c
  59.  
  60. HDRS = config.h \
  61.         tmc.h
  62.  
  63. OBJS    = badtag.o \
  64.         cmpdbl.o \
  65.         errmsg.o \
  66.         fatal.o \
  67.         fneedc.o \
  68.         fprdbl.o \
  69.         fprint.o \
  70.         fpruns.o \
  71.         fprstr.o \
  72.         fsccbrac.o \
  73.         fsccons.o \
  74.         fscdbl.o \
  75.         fscbool.o \
  76.         fscint.o \
  77.         fscuns.o \
  78.         fscobrac.o \
  79.         fscspace.o \
  80.         fscstr.o \
  81.         newstr.o \
  82.         prdbl.o \
  83.         print.o \
  84.         pruns.o \
  85.         propt.o \
  86.         prstr.o \
  87.         testprog.o
  88.  
  89. LIBSRCS          = fscdbl.c \
  90.         fscint.c \
  91.         fscuns.c \
  92.         fscstr.c \
  93.         fscbool.c \
  94.         fscspace.c \
  95.         fscobrac.c \
  96.         fsccbrac.c \
  97.         fneedc.c \
  98.         fsccons.c \
  99.         prdbl.c \
  100.         cmpdbl.c \
  101.         print.c \
  102.         pruns.c \
  103.         propt.c \
  104.         prstr.c \
  105.         fprdbl.c \
  106.         fprint.c \
  107.         fpruns.c \
  108.         fprstr.c \
  109.         newstr.c \
  110.         errmsg.c \
  111.         fatal.c \
  112.         badtag.c
  113.  
  114. LIBOBJS          = fscdbl.o \
  115.         fscint.o \
  116.         fscuns.o \
  117.         fscstr.o \
  118.         fscbool.o \
  119.         fscspace.o \
  120.         fscobrac.o \
  121.         fsccbrac.o \
  122.         fneedc.o \
  123.         fsccons.o \
  124.         prdbl.o \
  125.         cmpdbl.o \
  126.         print.o \
  127.         pruns.o \
  128.         propt.o \
  129.         prstr.o \
  130.         fprdbl.o \
  131.         fprint.o \
  132.         fpruns.o \
  133.         fprstr.o \
  134.         newstr.o \
  135.         errmsg.o \
  136.         fatal.o \
  137.         badtag.o
  138.  
  139. TESTOBJS      = testprog.o
  140.  
  141. DOC    = README CHANGES testprog.prj libtmc.prj makefile.tc makefile.unx
  142.  
  143. PROGS   =
  144.  
  145. MAKEFILE = Makefile
  146.  
  147. DISTFILES = $(LIBSRCS) $(HDRS) $(DOC) $(MAKEFILE) $(TESTFILES)
  148.  
  149. LINTLIBSRCS = $(LIBSRCS)
  150. AROBJS = $(LIBOBJS)
  151.  
  152. #++ make module lintlib start, do NOT touch this line. ++
  153. ### lintlib ###
  154. # LINTLIBSRCS    - list of source files for this lint lib
  155. # LINTFLAGS    - additional lint flags
  156. # LINTLIB    - base name of lint library to create
  157. LINTLIBNAME = llib-l$(LINTLIB).ln
  158. $(LINTLIBNAME): $(LINTLIBSRCS)
  159.     lint -o $(LINTLIB) $(SYSLINTFLAGS) $(LINTFLAGS) $(LINTLIBSRCS)
  160. #++ make module lintlib end, do NOT touch this line. ++
  161.  
  162. #++ make module arlib start, do NOT touch this line. ++
  163. ### arlib ###
  164. # AROBJS    - list of source files for ar
  165. # ADDITIONALarFLAGS    - additional ar flags
  166. # ARLIB        - base name of ar library to create
  167. ARFLAGS   = rv
  168. ARLIBNAME = lib$(ARLIB).a
  169. $(ARLIBNAME): $(AROBJS)
  170.     ar $(ARFLAGS) $(ARLIBNAME) $(ADDITIONALarFLAGS) $(AROBJS)
  171. #ranlib $(ARLIBNAME)
  172. #++ make module arlib end, do NOT touch this line. ++
  173.  
  174. #++ make module local start, do NOT touch this line. ++
  175. # Installation dependent make variables for ericv on HERMES 
  176.  
  177. # full path of the ESPRIT environment
  178. ESPRITDIR = /home1/forfun
  179.  
  180. #  BDIR     : bin directory
  181. BDIR = $(ESPRITDIR)/binA
  182.  
  183. #  IDIR     : include directory
  184. IDIR = $(ESPRITDIR)/include
  185.  
  186. #  LDIR     : library directory
  187. LDIR = $(ESPRITDIR)/libA
  188.  
  189.  
  190. NFULLDS = $(ESPRITDIR)/ds/nfullgl.ds
  191. NKERNDS = $(ESPRITDIR)/ds/nkerngl.ds
  192.  
  193. #  HOSTNAME : name of installation machine.
  194. HOSTNAME=hermes
  195.  
  196. # SYS     : name of operating system or machine type
  197. #     BSD    For generic BSD systems
  198. #     AVIION    For generic DG_UX systems
  199. #     HPUX    For all HP-UX systems
  200. #     SUN    For all SUN systems
  201. #     APOLLO    For all Apollo systems
  202. SYS = AVIION
  203.  
  204. # CLIBLOC : required C libraries
  205. CLIBLOC =
  206.  
  207. LINTLIBLOC =
  208.  
  209. PASLIBLOC =
  210.  
  211. # CBADADR : address that will cause a core-dump if read or written.
  212. CBADADR = 0
  213.  
  214. SYSLINTFLAGS = -hpac
  215. SYSCFLAGS = 
  216. SYSCPROFFLAGS =
  217. SYSCDBUGFLAGS =
  218. SYSPFLAGS =
  219. OFLAG= -O
  220. # Collection of host dependent make rules.
  221.  
  222. ### libinstall ###
  223. # MODULE    - module to install
  224. libinstall:
  225.     cp $(MODULE) $(LDIR)/$(MODULE)
  226.  
  227. ### includeinstall ###
  228. # MODULE    - module to install
  229. includeinstall:
  230.     cp $(MODULE) $(IDIR)/$(MODULE)
  231.  
  232. ### maninstall ###
  233. # MAN        - manual page to install
  234. maninstall:
  235.     cp $(MAN) /usr/man/manl
  236.  
  237. ### bininstall ###
  238. # MODULE    - module to install
  239. bininstall:
  240.     cp $(MODULE) $(BDIR)/$(MODULE)
  241.     strip $(BDIR)/$(MODULE)
  242.  
  243. ### arlibinstall ###
  244. # MODULE    - module to install
  245. arlibinstall:
  246.     cp $(MODULE) $(LDIR)/$(MODULE)
  247.  
  248. LINK.c=$(CC) 
  249. #++ make module local end, do NOT touch this line. ++
  250.  
  251. help :
  252.     @echo " Possible make targets:"
  253.     @echo "all        Create local running programs."
  254.     @echo "clean        Free disk space."
  255.     @echo "distfiles    List distribution files."
  256.     @echo "install        Install relevant files."
  257.     @echo "setup        Adapt sources to local situation."
  258.     @echo "test        Run tests."
  259.  
  260. profilelib: $(LIBSRCS)
  261.     rm -f $(LIBOBJS)
  262.     make 'ARLIB=$(LIBID)_p' 'SYSCFLAGS=$(SYSCPROFFLAGS)' lib$(LIBID)_p.a
  263.     rm -f $(LIBOBJS)
  264.     touch $@
  265.  
  266. debuglib: $(LIBSRCS)
  267.     rm -f $(LIBOBJS)
  268.     make 'ARLIB=$(LIBID)_g' 'SYSCFLAGS=$(SYSCDBUGFLAGS)' lib$(LIBID)_g.a
  269.     rm -f $(LIBOBJS)
  270.     touch $@
  271.  
  272. all: lib$(LIBID).a 
  273.  
  274. # Add rules for the programs themselves here.
  275.  
  276. testprog: $(TESTOBJS) $(ARLIBNAME)
  277.     $(LINKER) $(LDFLAGS) $(TESTOBJS) libtmc.a $(LIBS) -o testprog
  278.  
  279. test: testprog testin
  280.     -sh -c './testprog < testin > testout 2> testerr'
  281.     diff testout goodout
  282.     diff testerr gooderr
  283.  
  284. install:  $(ARLIBNAME)
  285.     make 'MODULE=$(ARLIBNAME)' arlibinstall
  286.     make 'MODULE=$(INSTHFILES)' includeinstall
  287.  
  288. tags: $(LIBSRCS) $(TESTSRCS)
  289.     ctags $(LIBSRCS) $(TESTSRCS)
  290.  
  291. clean:
  292.     rm -f $(OBJS) $(JUNK)
  293.  
  294. distfiles:
  295.     @echo $(DISTFILES) | tr ' ' '\012'
  296.  
  297. setup:
  298.     modmake local ../make.local $(MAKEFILE)
  299.     modmake arlib ../make.arlib $(MAKEFILE)
  300.     modmake lintlib ../make.lintlib $(MAKEFILE)
  301.     rm -f $(OLDFILES)
  302.  
  303. lint: $(TESTSRCS)
  304.     lint $(SYSLINTFLAGS) $(LINTFLAGS) $(TESTSRCS) $(LINTLIBS) > lintout
  305.  
  306. # Non-standard make rules
  307.  
  308. depend:
  309.     mkmf -f $(MAKEFILE)
  310.  
  311. ###
  312. badtag.o : tmc.h
  313. errmsg.o : tmc.h
  314. fatal.o : tmc.h
  315. fneedc.o : tmc.h config.h
  316. fprdbl.o : tmc.h config.h
  317. fprint.o : tmc.h
  318. fprstr.o : tmc.h
  319. fsccbrac.o : tmc.h config.h
  320. fsccons.o : tmc.h config.h
  321. fscdbl.o : tmc.h
  322. fscint.o : tmc.h
  323. fscobrac.o : tmc.h config.h
  324. fscspace.o : tmc.h config.h
  325. fscstr.o : tmc.h config.h
  326. newstr.o : tmc.h config.h
  327. prdbl.o : tmc.h config.h
  328. print.o : tmc.h
  329. propt.o : tmc.h
  330. prstr.o : tmc.h
  331. testprog.o : tmc.h
  332.